package vo

import (
	"cgs-server/server/cgs/app/models"
	"go.mongodb.org/mongo-driver/bson/primitive"
)

// WorksheetInfo 表格信息
type WorksheetInfo struct {
	// Id 表单id
	Id primitive.ObjectID `json:"id" bson:"id"`

	// Name 表格名称
	Name string `json:"name" bson:"name"`

	// Fields 字段
	Fields *models.Fields `json:"fields,omitempty" bson:"fields,omitempty"`

	// Config 配置信息
	Config interface{} `json:"config,omitempty" bson:"config,omitempty"`

	// AppId 应用Id
	AppId string `json:"appId" bson:"appId"` // 应用 id

	// GroupId 分组id
	GroupId string `json:"groupId" bson:"groupId"`

	// Type
	Type *int `json:"type" bson:"type"`

	// Icon
	Icon string `json:"icon" bson:"icon"`

	// ViewList 视图列表
	ViewList *models.WorksheetViewList `json:"viewList,omitempty"`

	Owner string `json:"owner" bson:"owner"`

	// 是否隐藏，隐藏后只有管理员可以看见
	Hidden bool `json:"hidden" bson:"hidden"`

	// 全部视图的 qrcode
	AllViewQRCode string `json:"allViewQRCode" bson:"allViewQRCode"`

	// ShareState 分享状态
	ShareState int `json:"shareState" bson:"shareState"`
}

type WorksheetInfoList []*WorksheetInfo

// WorksheetView 表单视图
type WorksheetView struct {

	// Id 视图Id
	Id primitive.ObjectID `json:"id" bson:"id"`

	// Name 视图名称
	Name string `json:"name" bson:"name"`

	// ViewType 视图类型
	ViewType int `json:"viewType" bson:"viewType"`

	// WorksheetId 表单Id
	WorksheetId string `json:"worksheetId" bson:"worksheetId"`
}
